for循环的三个表达式 | 您所在的位置:网站首页 › 表达式 3 | 5 的值为__________ › for循环的三个表达式 |
首先我们我来一段代码,看看它有什么错误: for(i = 0,printf("First = %d\t",i); i < 5,printf("Second = %d\t",i); i++,printf("Third = %d\t",i)) { printf("Fourth = %d\n",i); }有没有感觉for循环里面的表达式好复杂,但是语句绝对没有错误,编译没有错误,但是运行呢? 但是是一个死循环,一直都跳不出来。 问题在于for循环的语句形式是: for(表达式1;表达式2;表达式3){}而表达式1和表达式2都是逗号表达式,逗号表达式的用法不细说了,最终的值是最后一个表达式的值。 也就是printf这个函数的返回值,printf的函数的返回值是打印出来的字符的个数。 来看我调试的结果: 当i=0时,for循环体内执行后: 1)执行表达式3: i++; i=1,printf表达式的值是“Third = 1”数一下是9个字符,有两个空格,别忘了还有后面的“\0”,总共是10个字符。 2)然后计算表达式2: i |
CopyRight 2018-2019 实验室设备网 版权所有 |